Multicasting is a service that permits sources to send a single copy of the same data to an address that causes the data to be delivered to multiple recipients. Under multicasting only one copy of a message will pass over any link in a network and copies of the message will be made only where paths diverge. From the network perspective, multicast dramatically reduces overall bandwidth consumption, since the data is replicated in the network at appropriate points rather than in the end-systems.
In case the multicast is used in Internet Protocol IP network then it is called IP multicast. With Internet Protocol IP multicast receivers do not need to know who or where the senders are to receive traffic from them and the senders never need to know who the receivers are. Neither senders nor receivers need to care about the network topology as the network optimises delivery. The distribution of the information via the IP multicast is performed on the base of hierarchical connection of the hosts, like for example a tree. Several algorithms have been proposed for building multicast distribution trees, like for example spanning trees, shared-trees, source-based trees, and core-based trees. The descriptions of the corresponding algorithms can be found in “IP telephony: Packet-based multimedia communications systems” O. Hersent, D. Gurle, D. Petit, Addison-Wesley, Harlow, 2000. After the establishment of the distribution tree, the IP multicast routing protocols does the distribution of the information. The detailed description of the corresponding IP multicast routing protocols can also be found in the above mentioned document.
Multicast is a receiver-based concept, it means the receivers join a particular multicast session group by informing a corresponding multicast router and traffic is delivered to all members of that group by the network infrastructure. Therefore within the IP multicast the membership of a multicast session group is dynamic it means that the hosts may join and leave groups at any time. In order to allow hosts on networks to indicate whether they wish to join or leave a particular multicast group there is a protocol called the Internet Group Message Protocol IGMP. This protocol lets the system know which hosts currently belong to which multicast group. This information is required by the multicast routers which need to know which multicast datagrams are to be forwarded onto which interface.
The IGMP is a part of the IP layer and the IGMP messages are transmitted in IP data packets. The version 1 of IGMP is described in RFC 1112 “Host extensions for IP multicasting” S. E. Deering, Aug. 1, 1989, RFC 2236 “Internet Group Management Protocol, Version 2” W. Fenner, November 1997 describes the version 2. The IGMP has been developed for IP version 4. In Internet Protocol IP version 6 there is a similar protocol called Multicast Listener Discovery MLD, which is used for the same purpose as the IGMP. The description of the first version of MLD can be found in RFC 2710 “Multicast Listener Discovery (MLD) for IPv6” S. Deering, W. Fenner, B. Haberman, October 1999. However the messages used in MLD correspond to the IGMP messages. In the following the IGMP will be used as an example. Although this should not be restricted to the IGMP, the functionality of the invention is also given by usage of MLD.
In principle the IGMP uses two basic messages to fulfil its tasks, the membership report and the membership query message, and the following rules are applied. The different versions of IGMP contain additional messages.
A multicast router sends a membership query at regular intervals to see if any host still belongs to any group. The router must send one query out on each interface. The group address in the query is 0 since the router expects one response from a host for every group that contains one or more members on each host. It is also possible to send a membership query for one particular group rather than for all groups. A host responds to an IGMP query by sending one IGMP report for each group that still contains at least one user.
A host joins a group also by sending the membership report. Using the information received by applying the report and the query messages, a table with its interfaces having at least one host in a multicast group is established. After the receiving of the multicast data, the router forwards the data out on each interface, which has at least one member.
Multicasting in Public Land Mobile Networks PLMNs like General Packet Radio System GPRS or Universal Mobile Communication System UMTS requires some further development, for example regarding the mobility of the users and the characteristics of the air interface. Further the communication in a mobile communication networks like for example in UMTS is a unicast communication. The unicast communication is also called point-to-point communication. The point-to-point communication means sending a message from a single sender to a single receiver. In such kind of network, in particular in the core network it is not foreseen to perform a multicast communication. The group communication is implemented by means of a point-to-point communication having a sender transmitting separately packets to each member of the group. For a group with n members, n packets are required on the whole way between the sender and the receivers, instead of one packet when multicasting is used.
In the following an overview of the architecture of the General Packet Radio System GPRS network is given.
The GPRS is the packet-switched enhancement of the Global System for Mobile Communication GSM, which is a circuit switched network. It means that the user can be permanently online connected but has to pay only for the real data transfer. In order to fulfil the new requirements some changes are introduced into the GSM, among other new logical nodes, the Serving GPRS Support Node (SGSN) and the Gateway GPRS Support Node (GGSN) are introduced. The main functions of the GGSN involve interaction with external IP packet networks providing for example connections to Internet Service Providers ISPs. From the external IP network's point of view, the GGSN acts as a router for the IP addresses of all subscribers served by the GPRS networks. The GGSN also exchanges routing information with the external network. Each GGSN serves a number of SGSNs, which can be arranged as a tree with the GGSN as a root of the tree. The SGSN serves all GPRS subscribers that are physically located within the geographical SGSN service area. It forwards incoming and outgoing IP packets addressed to or from a mobile station.
A detailed description of the architecture is to be found in 3GPP TS 03.60 V7.5.0 (2001-01) 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects, Digital cellular Telecommunications System (Phase 2+), General Packet Radio Service (GPRS), Service Description, Stage 2 (Release 1998).
The similar nodes with interfaces in-between are also used in the next generation of the wireless networks, in the UMTS as described in 3GPP TS 23.060 V3.6.0 (2001-01) 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects, General Packet Radio Service (GPRS), Service Description, Stage 2 (Release 1999). In order to distinguish between the functionality of these nodes in UMTS extended names are often used, 3G-SGSN and 3G-GGSN. In the following description it will not be distinguished between the GPRS and the UMTS nodes.
With the introduction of the streaming and of the conversational multimedia services, many new point-to-multipoint services will evolve. Some examples of such services are video-conferencing, whiteboarding, real-time multi-user games, multimedia messaging, virtual worlds. In particular the network operator will provide a big number of different multicast applications within the mobile network.
The introduction of the multicast application on the user layer requires coordination on the transport layer, in particular between the nodes in respect to the multicast data delivery. In PLMNs with multiple GGSNs there is currently no coordination and synchronization mechanism for multicast groups between the GGSNs. It may thus happen that multiple GGSNs in a PLMN are dealing with the same multicast group, resulting in multiple multicast groups and multicast connections. This may happen, if an operator provides several Access Point Names (APNs), which are to be known by the mobile terminals in order to attach to the network's service. The operator can appoint different APNs for different user groups or services, for example a special APN can be assigned for the Multimedia Messaging Service (MMS). In many network topologies this is rather inefficient usage of resources and transmission capacity. Furthermore, if the multicast group info is distributed in the PLMN, the PLMN operator has no means to base any analysis on the group membership in the PLMN. It means the operator can not restrict additional members or base any charging decision on the total group membership in the PLMN.
In the following in respect to FIG. 1 the problem in the existing technologies is described. In FIG. 1 the UMTS Network has two GGSNs, GGSN1 and GGSN2. The GGSN2 supports the Multicast Group A. It means the multicast data for the Multicast Group A is delivered to the GGSN2, and the GGSN2 distributes the data within the UMTS network using the established multicast delivery tree. In case a mobile subscriber being served by the GGSN1 sends the IGMP Join Request for Multicast Group A message a new delivery tree is to be established for the Multicast Group A with the GGSN1 as a root of the tree. As already mentioned in the existing technologies there is no check, whether the multicast flow is already in use within the mobile network. Therefore it may happen, that two different multicast trees are established for the same multicast group within the same network.